package 传智播客_黑马.java高级.IO流;

/*
一切皆为字节

OutputStream(所有字节输出流的超类)
三种方法:
    close()
    flush()
    write()

InputStream(输入流的超类)
    close()
    read()
* */
public class 字节流 {
    public static void main(String[] args){
        //public FileOutputStream(String name) name是一个路径
        //public FileOutputStream(File file) 直接写入到一个文件中
//        FileOutputStream stream = new FileOutputStream("D:\\IdeaProjects\\黑马程序员\\src\\DarkHorse\\IO\\test\\a.txt",true);
//        try (stream){
//            stream.write(48);
//        }catch (IOException e){
//            System.out.println(e);
//        }

        /*构造方法的作用:
         1 创建一个对象
         2 会根据传递的参数,创造一个空的文件
         3 将对象指向创建好的文件
         */


        /*写入数据的原理
        java程序 --> JVM(虚拟机) -->OS(操作系统) --> 把数据写入到文件中

        */




//        stream.close();
        /*
        存储一个97试试

        当数组中一个数字是负数的时候,会和第二个数字合并组一个中文字符查询GBK编码
        utf-8(三个字节是一个中文)
        gbk(两个字节是一个中文)
         */


        //字节流的续写和换行
        //续写使用不同的构造方法


        //换行(换行符widows\r\n   linux\n   mac:\r)




        //输入流


        //读取数据的原理
        //java程序 -->JVM-->OS-->OS读取数据的方法-->读取文件

        /*字节输入流的使用步骤
            1 创建对象
            2 使用read方法,读取文件
            3 释放资源
         */


        //尝试复制文件
    }
}
